package com.zhiche.lisa.bms.pojo.vo.driver;


import com.zhiche.lisa.core.utils.RegexUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * @FileName: cn.huiyunche.driver.service.form
 * @Description: 线路表单和查询条件
 * @author: Aaron
 * @date: 2017/2/26 上午11:32
 */
@Data
@ApiModel(value = "RouteVO", description = "线路VO")
public class RouteVO implements Serializable {

	@ApiModelProperty(value = "id", name = "id", dataType = "Integer")
	private Integer id;

	/**
	 * 线路名称
	 */
	@NotBlank(message = "请输入线路名称")
	// @Size(max = 16, min = 1, message = "燃油编码长度位1-16位")
	@ApiModelProperty(value = "线路名称", name = "name", dataType = "String")
	private String name;

	/**
	 * 起始地关键字
	 */
	@NotBlank(message = "起始地关键字不能为空")
//	@Pattern(regexp = RegexUtil.specialTag, message = "起始地关键字不能包含特殊字符")
	//@Size(max = 16, min = 1, message = "燃油编码长度位1-16位")
	@ApiModelProperty(value = "起始地标签", name = "otag", dataType = "String")
	private String oTag;

	/**
	 * 起点省编码
	 */
	@ApiModelProperty(value = "起点省编码", name = "oProvinceCode", dataType = "String")
	@NotBlank(message = "起始省编码不能为空")
	private String oProvinceCode;

	/**
	 * 起点省份
	 */
	@NotBlank(message = "起始地省份不能为空")
	@Pattern(regexp = RegexUtil.special, message = "起点省份不能包含特殊字符")
	@Size(max = 16, min = 1, message = "燃油编码长度位1-16位")
	@ApiModelProperty(value = "起点省", name = "oProvince", dataType = "String")
	private String oProvince;

	/**
	 * 起点市编码
	 */
	@ApiModelProperty(value = "起点市编码", name = "oCityCode", dataType = "String")
	private String oCityCode;

	/**
	 * 起点城市
	 */
	@ApiModelProperty(value = "起点市", name = "oCity", dataType = "String")
	private String oCity;

	/**
	 * 起点县编码
	 */
	@ApiModelProperty(value = "起点县编码", name = "oCountyCode", dataType = "String")
	private String oCountyCode;

	/**
	 * 起点区县
	 */
	@ApiModelProperty(value = "起点区县", name = "oCounty", dataType = "String")
	private String oCounty;

	/**
	 * 起点网点ID
	 */
	@ApiModelProperty(value = "起点网点ID", name = "oDepotId", dataType = "Integer")
	private Integer oDepotId;

	/**
	 * 起点网点
	 */
	@ApiModelProperty(value = "起点网点", name = "oDepot", dataType = "String")
	private String oDepot;

	/**
	 * 起点详细地址
	 */
	@ApiModelProperty(value = "起点详细地址", name = "oAddr", dataType = "String")
	private String oAddr;

	/**
	 * 目的地关键字
	 */
	@NotBlank(message = "目的地关键字不能为空")
//	@Pattern(regexp = RegexUtil.specialTag, message = "目的地关键字不能包含特殊字符")
//	@Size(max = 16, min = 1, message = "长度位1-16位")
	@ApiModelProperty(value = "目的地标签", name = "dTag", dataType = "String")
	private String dTag;

	/**
	 * 终点省编码
	 */
	@ApiModelProperty(value = "终点省编码", name = "dProvinceCode", dataType = "String")
	@NotBlank(message = "终点省编码不能为空")
	private String dProvinceCode;

	/**
	 * 终点省份
	 */
	@NotBlank(message = "目的地省份不能为空")
	@Pattern(regexp = RegexUtil.special, message = "终点省份不能包含特殊字符")
	@Size(max = 16, min = 1, message = "长度位1-16位")
	@ApiModelProperty(value = "终点省份", name = "dProvince", dataType = "String")
	private String dProvince;

	/**
	 * 终点市编码
	 */
	@ApiModelProperty(value = "终点市编码", name = "dCityCode", dataType = "String")
	private String dCityCode;

	/**
	 * 终点城市
	 */
	@ApiModelProperty(value = "终点城市", name = "dCity", dataType = "String")
	private String dCity;

	/**
	 * 终点县编码
	 */
	@ApiModelProperty(value = "终点县编码", name = "dCountyCode", dataType = "String")
	private String dCountyCode;

	/**
	 * 终点区县
	 */
	@ApiModelProperty(value = "终点区县", name = "dCounty", dataType = "String")
	private String dCounty;

	/**
	 * 终点网点ID
	 */
	@ApiModelProperty(value = "终点网点ID", name = "dDepotId", dataType = "Integer")
	private Integer dDepotId;

	/**
	 * 终点网点
	 */
	@ApiModelProperty(value = "终点网点", name = "dDepot", dataType = "String")
	private String dDepot;

	/**
	 * 终点详细地址
	 */
	@ApiModelProperty(value = "终点详细地址", name = "dAddr", dataType = "String")
	private String dAddr;

	/**
	 * 状态
	 */
	@ApiModelProperty(value = "是否可用", name = "enable", dataType = "Boolean")
	private Boolean enable;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间", name = "enable", dataType = "Date")
	private Date createTime;

	/**
	 * 创建人
	 */
	@ApiModelProperty(value = "创建人", name = "creator", dataType = "String")
	private String creator;

	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间", name = "updateTime", dataType = "Date")
	private Date updateTime;

	public String getoTag() {
		return oTag;
	}

	public void setoTag(String oTag) {
		this.oTag = oTag;
	}

	public String getoProvinceCode() {
		return oProvinceCode;
	}

	public void setoProvinceCode(String oProvinceCode) {
		this.oProvinceCode = oProvinceCode;
	}

	public String getoProvince() {
		return oProvince;
	}

	public void setoProvince(String oProvince) {
		this.oProvince = oProvince;
	}

	public String getoCityCode() {
		return oCityCode;
	}

	public void setoCityCode(String oCityCode) {
		this.oCityCode = oCityCode;
	}

	public String getoCity() {
		return oCity;
	}

	public void setoCity(String oCity) {
		this.oCity = oCity;
	}

	public String getoCountyCode() {
		return oCountyCode;
	}

	public void setoCountyCode(String oCountyCode) {
		this.oCountyCode = oCountyCode;
	}

	public String getoCounty() {
		return oCounty;
	}

	public void setoCounty(String oCounty) {
		this.oCounty = oCounty;
	}

	public Integer getoDepotId() {
		return oDepotId;
	}

	public void setoDepotId(Integer oDepotId) {
		this.oDepotId = oDepotId;
	}

	public String getoDepot() {
		return oDepot;
	}

	public void setoDepot(String oDepot) {
		this.oDepot = oDepot;
	}

	public String getoAddr() {
		return oAddr;
	}

	public void setoAddr(String oAddr) {
		this.oAddr = oAddr;
	}

	public String getdTag() {
		return dTag;
	}

	public void setdTag(String dTag) {
		this.dTag = dTag;
	}

	public String getdProvinceCode() {
		return dProvinceCode;
	}

	public void setdProvinceCode(String dProvinceCode) {
		this.dProvinceCode = dProvinceCode;
	}

	public String getdProvince() {
		return dProvince;
	}

	public void setdProvince(String dProvince) {
		this.dProvince = dProvince;
	}

	public String getdCityCode() {
		return dCityCode;
	}

	public void setdCityCode(String dCityCode) {
		this.dCityCode = dCityCode;
	}

	public String getdCity() {
		return dCity;
	}

	public void setdCity(String dCity) {
		this.dCity = dCity;
	}

	public String getdCountyCode() {
		return dCountyCode;
	}

	public void setdCountyCode(String dCountyCode) {
		this.dCountyCode = dCountyCode;
	}

	public String getdCounty() {
		return dCounty;
	}

	public void setdCounty(String dCounty) {
		this.dCounty = dCounty;
	}

	public Integer getdDepotId() {
		return dDepotId;
	}

	public void setdDepotId(Integer dDepotId) {
		this.dDepotId = dDepotId;
	}

	public String getdDepot() {
		return dDepot;
	}

	public void setdDepot(String dDepot) {
		this.dDepot = dDepot;
	}

	public String getdAddr() {
		return dAddr;
	}

	public void setdAddr(String dAddr) {
		this.dAddr = dAddr;
	}
}

